package cate.common.table.item.equip.row;


import cate.common.table.EExcelNoteField;
import cate.common.table.EExcelRowClass;
import cate.common.table.ERow;
import cate.common.table.item.IBagItemTpl;

@EExcelRowClass(IDTitle = "装备ID")
public class EquipBaseRow extends ERow implements IBagItemTpl {
    @EExcelNoteField(fieldName = "装备名称")
    public String name;

    @EExcelNoteField(fieldName = "等级")
    public int level;

    @EExcelNoteField(fieldName = "职业")
    public byte job;

    @EExcelNoteField(fieldName = "部位")
    public byte pos;

    @EExcelNoteField(fieldName = "品质")
    public byte quality;

    @EExcelNoteField(fieldName = "套装类型")
    public int suiteType;

    @EExcelNoteField(fieldName = "出售价格")
    public String resolveRewardStr;

    @EExcelNoteField(fieldName = "叠加数量")
    public int pileNum;

    @EExcelNoteField(fieldName = "属性")
    public String attrStr;

    @EExcelNoteField(fieldName = "铭刻属性")
    public String campAttrStr;

    @EExcelNoteField(fieldName = "铭刻重铸")
    public String reforgeConsumeStr;

    @EExcelNoteField(fieldName = "装备铭刻")
    public String rubbingConsumeStr;

    @EExcelNoteField(fieldName = "合成材料")
    public String forgeRes;

    @EExcelNoteField(fieldName = "估值")
    public double assessValue;

    @EExcelNoteField(fieldName = "名称备注")
    public String nameNote;

    @EExcelNoteField(fieldName = "装备超越")
    public int overstepId;

    @EExcelNoteField(fieldName = "是否是超越装备", defaultValue = "0")
    public boolean isOverstep;

    @EExcelNoteField(fieldName = "超越消耗")
    public String overstepConsumeStr;

    @EExcelNoteField(fieldName = "是否可镶嵌")
    public boolean enableGem;

    @EExcelNoteField(fieldName = "超越回退返还")
    public String overstepBackStr;

    @EExcelNoteField(fieldName = "是否可注灵", defaultValue = "0")
    public int canPump;

    @EExcelNoteField(fieldName = "注灵进度", defaultValue = "0")
    public int pumpLimit;

    @EExcelNoteField(fieldName = "注灵值", defaultValue = "0")
    public int pumpValue;

    @EExcelNoteField(fieldName = "注灵属性")
    public String pumpAttrStr;

    @EExcelNoteField(fieldName = "突破消耗")
    public String breakthroughCost;

    @EExcelNoteField(fieldName = "突破产出", defaultValue = "0")
    public int breakthroughTarget;

    @EExcelNoteField(fieldName = "星级", defaultValue = "1")
    public byte star;

    @EExcelNoteField(fieldName = "是否可镶嵌")
    public boolean canGem;

    @EExcelNoteField(fieldName = "神装置换消耗")
    public String convertCost;

    @Override
    public String getName() {
        return name;
    }

    @Override
    public int getTemplateId() {
        return id;
    }

    @Override
    public long getPileMax() {
        return pileNum;
    }

    @Override
    public void decode() {
    }

    @Override
    public String toName() {
        return this.nameNote;
    }

    @Override
    public boolean unique() {
        return getPileMax() == 1;
    }
}
